italy-grocery-deals-weekly-ads-scraper avatar

italy-grocery-deals-weekly-ads-scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
italy-grocery-deals-weekly-ads-scraper

italy-grocery-deals-weekly-ads-scraper

Extract current grocery deals from major Italian chains, including Conad, Lidl, Aldi, Eurospin, MD, Famila/Iperfamila and iN’s Mercato. Get structured product names, prices, validity dates, flyer references, images and data-quality metadata for analytics and price monitoring.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Francesco Ayrton Davoli

Francesco Ayrton Davoli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Italy Grocery Deals & Weekly Ads Scraper

Apify Actor for extracting current promotional offers from Italian grocery flyers into a structured dataset suitable for comparison, price monitoring and downstream analytics.

Current coverage

The Actor automatically detects active flyers and extracts products from structured flyer-offer APIs where available. Clean structured output is the default behaviour.

ChainCurrent extraction qualityValidated current products*
Famila / IperfamilaStructured API offers — validated1,126
Conad SuperstoreStructured API offers — validated360
EurospinStructured API offers — validated205
AldiStructured API offers — validated202
LidlStructured API offers — validated143
iN's MercatoStructured API offers — validated124
MD DiscountStructured API offers — validated87
EsselungaPreview fallback only when available; excluded by default

*Validated on 2026-06-04. Product totals depend on currently active flyers and can change at each run.

A clean structured validation run confirmed at least 2,247 API-quality current promotional products across the seven supported grocery chain sources. Famila/Iperfamila was validated separately at its complete current catalogue size after an earlier all-chain run was intentionally capped at 1,000 records for that chain.

Clean output by default

The default input enables structuredOnly: true. This excludes preview-only records from the dataset, keeping standard output suitable for data pipelines and price monitoring.

Set structuredOnly to false only when you intentionally want to include marked fallback records:

{
"catena": "tutti",
"structuredOnly": false,
"maxItemsPerChain": 2000,
"maxTotalItems": 10000
}

Fallback records are always identified with:

{
"extractionSource": "preview_text",
"dataQuality": "preview_fallback"
}

Output fields

Each structured dataset record can include:

FieldDescription
nameProduct name
catenaStore chain display name; Famila source can return both Famila and Iperfamila
chainSlugStable source identifier
priceOfferPromotional price as source-compatible text
priceOfferValuePromotional price as a numeric value for analytics
priceOriginalOriginal price text, where supplied by the source
priceOriginalValueOriginal price numeric value, where supplied by the source
currencyCurrency code, EUR
countryCountry code, IT
formatQuantity or packaging format
validFrom, validTo, validityFlyer validity period when detectable
flyerId, pageNumber, offerIdSource flyer/product references
imgFlyer page or product image URL where supplied
sourcePageUrlChain flyer source page
offersApiUrlAPI endpoint used for structured extraction
extractionSourceoffers_api or preview_text
dataQualitystructured_api or preview_fallback
offerKeyStable key for one current promotional offer
productFingerprintProduct-matching helper for historical comparison
scrapedAtISO timestamp of the Actor run
{
"catena": "tutti",
"keyword": "",
"structuredOnly": true,
"maxItemsPerChain": 2000,
"maxTotalItems": 10000,
"diagnosticMode": false,
"investigateZeroResults": false
}

Limit behaviour

For a single selected chain, use maxItems.

For catena: "tutti", use:

  • maxItemsPerChain: maximum products retained from each supermarket, preventing one large catalogue from exhausting the output before other chains are processed. The recommended value is 2000, which is above the currently validated Famila/Iperfamila catalogue of 1,126 records.
  • maxTotalItems: overall run safety ceiling.

Example: maxItemsPerChain: 100 gives each available chain room to return up to 100 products rather than letting the first large chain consume a single global quota.

Product keyword filter

Use keyword to filter product names, for example:

{
"catena": "tutti",
"keyword": "birra",
"structuredOnly": true,
"maxItemsPerChain": 2000,
"maxTotalItems": 10000
}

The legacy categoria input remains accepted by the code for backward compatibility, but the current source does not consistently provide true category metadata. keyword is therefore the accurate public filter.

Run summary

Every run stores a RUN_SUMMARY JSON record in the default key-value store. It includes total products saved, limit settings, quality mode and per-chain extraction status.

Possible statuses include:

  • structured_api: clean structured products were obtained.
  • preview_fallback: fallback records were included because structuredOnly was disabled.
  • preview_fallback_excluded: preview products existed but were excluded from clean output.
  • no_active_flyers_detected: no supported active flyer cards were detected.
  • active_flyers_without_structured_offers: flyers exist but no structured products were returned.
  • skipped_total_limit_reached: the global safety ceiling was reached before this chain was processed.

Diagnostics

For development and source validation only:

  • diagnosticMode: true stores API response diagnostics for structured flyers.
  • investigateZeroResults: true stores page HTML, screenshot, DOM audit and click probes only for chains with zero structured API products.

Notes

This Actor extracts publicly displayed promotional information through the flyer source experience. Results represent current visible or structured offers at run time; availability and completeness depend on active flyers and source-site coverage.